package com.taxx.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 平台内的平台企业身份信息报送实体类
 * 
 * @author taxx
 * @since 2024-01-01
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tax_platform_report")
public class TaxPlatformReport extends BaseEntity {

    /**
     * 纳税人名称
     */
    private String taxpayerName;

    /**
     * 统一社会信用代码
     */
    private String creditCode;

    /**
     * 平台名称
     */
    private String platformName;

    /**
     * 平台ID
     */
    private String platformId;

    /**
     * 经营开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @NotNull(message = "经营开始时间不能为空")
    private LocalDate businessStartTime;

    /**
     * 经营退出时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate businessExitTime;

    /**
     * 操作类型代码
     */
    private String operationTypeCode;

    /**
     * 报送状态：0-待报送，1-报送中，2-报送成功，3-报送失败
     */
    private Integer reportStatus;

    /**
     * 报送时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate reportTime;

    /**
     * 报送结果消息
     */
    private String reportMessage;

    /**
     * 批次号
     */
    private String batchCode;
}
